/**
 * jims
 */
package com.jims.master.modules.finance.entity;

import com.jims.master.common.persistence.DataEntity;
import com.jims.master.modules.doctor.entity.ApplyDrugWithdra;
import com.jims.master.modules.doctor.entity.PatVisit;
import com.jims.master.modules.nurse.entity.NurseReturnFeeApply;
import com.jims.master.modules.orders.entity.Orders;
import com.jims.master.modules.sys.entity.User;
import org.hibernate.validator.constraints.Length;

/**
 * Entity
 * @author 赵宁
 * @version 2017-03-28
 */
public class InpBillDetail extends DataEntity<InpBillDetail> {
	
	private static final long serialVersionUID = 1L;
	private String patientId;		// 病人ID
	private String visitId;		// 住院ID
    private String priceId;     //价表Id
    private String storageId;   //发药科库房Id
	private String itemClass;		// 项目类型
	private String itemName;		// 项目名称
	private String itemSpec;		// 项目规格
	private String amount;		// 数量
    private int num;		// 人数'
	private String units;		// 单位
	private Double itemPrice;		// 单价
	private Double costs;		// 应付费用
	private Double charges;		// 实收费用
	private String priceQuotiety;		// 收费系数
	private String orderDept;		// 开单科室
	private String orderDoctor;		// 开单医生
	private String performDept;		// 执行科室(护理单元)
	private String performPerson;		// 执行人
	private String classOnReckoning;		// 核算项目分类
	private String subjCode;		// 会计科目
	private String classOnMr;		// 病案首页分类
	private String rcptNo;		// 结算序号
	private String deptStayed;		// 所在科室
	private String wardCode;		// 所在病区
	private String ordersId;		// 医嘱ID
	//private String orgId;		// 机构ID
	private PatVisit patVisit;
    private String startTime;//计费开始日期
    private String endTime;//计费结束日期
    private String type;
    private String isDrug;
    private String clinicItemId;
    private String ids;
    private String itemCode;//
	private User user;
	private Double prepayments;
    private String  repeatIncaditor;
    private String isUpload; //医保是否上传 1上传 0未上传
    private String prescriptionId; //处方详情表的id

	private Orders orders;
	private String  startDate;//开始时间
	private String endDate; // 结束时间
	private String name;
    private String inpId; //对应退费id

    private String sourceType; //1.检查申请2.检验申请3.处方申请 4.医嘱摆药5.自动划价6.手术划价7.护士计价

    private NurseReturnFeeApply nurseReturnFeeApply;   //护士申请退费表


    public String getInpId() {
        return inpId;
    }

    public void setInpId(String inpId) {
        this.inpId = inpId;
    }

    public String getPrescriptionId() {
        return prescriptionId;
    }

    public void setPrescriptionId(String prescriptionId) {
        this.prescriptionId = prescriptionId;
    }

    private ApplyDrugWithdra applyDrugWithdra;// 住院退药申请

    public String getRepeatIncaditor() {
        return repeatIncaditor;
    }

    public void setRepeatIncaditor(String repeatIncaditor) {
        this.repeatIncaditor = repeatIncaditor;
    }

	
	public InpBillDetail() {
		super();
	}

	public InpBillDetail(String id){
		super(id);
	}

	@Length(min=1, max=64, message="病人ID长度必须介于 1 和 64 之间")
	public String getPatientId() {
		return patientId;
	}

	public void setPatientId(String patientId) {
		this.patientId = patientId;
	}
	
	@Length(min=1, max=64, message="住院ID长度必须介于 1 和 64 之间")
	public String getVisitId() {
		return visitId;
	}

	public void setVisitId(String visitId) {
		this.visitId = visitId;
	}

    public String getPriceId() {
        return priceId;
    }

    public void setPriceId(String priceId) {
        this.priceId = priceId;
    }


    public String getItemCode() {
        return itemCode;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public String getStorageId() {
        return storageId;
    }

    public void setStorageId(String storageId) {
        this.storageId = storageId;
    }

    @Length(min=1, max=2, message="项目类型长度必须介于 1 和 2 之间")
	public String getItemClass() {
		return itemClass;
	}

	public void setItemClass(String itemClass) {
		this.itemClass = itemClass;
	}
	
	@Length(min=1, max=200, message="项目名称长度必须介于 1 和 200 之间")
	public String getItemName() {
		return itemName;
	}

	public void setItemName(String itemName) {
		this.itemName = itemName;
	}
	
	@Length(min=0, max=40, message="项目规格长度必须介于 0 和 40 之间")
	public String getItemSpec() {
		return itemSpec;
	}

	public void setItemSpec(String itemSpec) {
		this.itemSpec = itemSpec;
	}
	
	@Length(min=1, max=11, message="数量长度必须介于 1 和 11 之间")
	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}
	
	@Length(min=1, max=2, message="单位长度必须介于 1 和 2 之间")
	public String getUnits() {
		return units;
	}

	public void setUnits(String units) {
		this.units = units;
	}

	public Double getCharges() {
		return charges;
	}

	public void setCharges(Double charges) {
		this.charges = charges;
	}

	public Double getItemPrice() {
		return itemPrice;
	}

	public void setItemPrice(Double itemPrice) {
		this.itemPrice = itemPrice;
	}

	public Double getCosts() {
		return costs;
	}

	public void setCosts(Double costs) {
		this.costs = costs;
	}

	public String getPriceQuotiety() {
		return priceQuotiety;
	}

	public void setPriceQuotiety(String priceQuotiety) {
		this.priceQuotiety = priceQuotiety;
	}
	
	@Length(min=1, max=64, message="开单科室长度必须介于 1 和 64 之间")
	public String getOrderDept() {
		return orderDept;
	}

	public void setOrderDept(String orderDept) {
		this.orderDept = orderDept;
	}
	
	@Length(min=1, max=64, message="开单医生长度必须介于 1 和 64 之间")
	public String getOrderDoctor() {
		return orderDoctor;
	}

	public void setOrderDoctor(String orderDoctor) {
		this.orderDoctor = orderDoctor;
	}
	
	@Length(min=1, max=64, message="执行科室(护理单元)长度必须介于 1 和 64 之间")
	public String getPerformDept() {
		return performDept;
	}

	public void setPerformDept(String performDept) {
		this.performDept = performDept;
	}
	
	@Length(min=1, max=64, message="执行人长度必须介于 1 和 64 之间")
	public String getPerformPerson() {
		return performPerson;
	}

	public void setPerformPerson(String performPerson) {
		this.performPerson = performPerson;
	}
	
	@Length(min=1, max=10, message="核算项目分类长度必须介于 1 和 10 之间")
	public String getClassOnReckoning() {
		return classOnReckoning;
	}

	public void setClassOnReckoning(String classOnReckoning) {
		this.classOnReckoning = classOnReckoning;
	}
	
	@Length(min=1, max=10, message="会计科目长度必须介于 1 和 10 之间")
	public String getSubjCode() {
		return subjCode;
	}

	public void setSubjCode(String subjCode) {
		this.subjCode = subjCode;
	}
	
	@Length(min=1, max=10, message="病案首页分类长度必须介于 1 和 10 之间")
	public String getClassOnMr() {
		return classOnMr;
	}

	public void setClassOnMr(String classOnMr) {
		this.classOnMr = classOnMr;
	}
	
	@Length(min=0, max=100, message="结算序号长度必须介于 0 和 100 之间")
	public String getRcptNo() {
		return rcptNo;
	}

	public void setRcptNo(String rcptNo) {
		this.rcptNo = rcptNo;
	}
	
	@Length(min=1, max=64, message="所在科室长度必须介于 1 和 64 之间")
	public String getDeptStayed() {
		return deptStayed;
	}

	public void setDeptStayed(String deptStayed) {
		this.deptStayed = deptStayed;
	}
	
	@Length(min=1, max=64, message="所在病区长度必须介于 1 和 64 之间")
	public String getWardCode() {
		return wardCode;
	}

	public void setWardCode(String wardCode) {
		this.wardCode = wardCode;
	}
	
	@Length(min=0, max=64, message="医嘱ID长度必须介于 0 和 64 之间")
	public String getOrdersId() {
		return ordersId;
	}

	public void setOrdersId(String ordersId) {
		this.ordersId = ordersId;
	}
	
	@Length(min=1, max=64, message="机构ID长度必须介于 1 和 64 之间")
	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public PatVisit getPatVisit() {
		return patVisit;
	}

	public void setPatVisit(PatVisit patVisit) {
		this.patVisit = patVisit;
	}


    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getIsDrug() {
        return isDrug;
    }

    public void setIsDrug(String isDrug) {
        this.isDrug = isDrug;
    }

    public String getClinicItemId() {
        return clinicItemId;
    }

    public void setClinicItemId(String clinicItemId) {
        this.clinicItemId = clinicItemId;
    }

    public String getIds() {
        return ids;
    }

    public void setIds(String ids) {
        this.ids = ids;
    }

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public Double getPrepayments() {
		return prepayments;
	}

	public void setPrepayments(Double prepayments) {
		this.prepayments = prepayments;
	}

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getIsUpload() {
        return isUpload;
    }

    public void setIsUpload(String isUpload) {
        this.isUpload = isUpload;
    }

	public ApplyDrugWithdra getApplyDrugWithdra() {
		return applyDrugWithdra;
	}

	public void setApplyDrugWithdra(ApplyDrugWithdra applyDrugWithdra) {
		this.applyDrugWithdra = applyDrugWithdra;
	}

	public Orders getOrders() {
		return orders;
	}

	public void setOrders(Orders orders) {
		this.orders = orders;
	}

	public String getStartDate() {
		return startDate;
	}

	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}

	public String getEndDate() {
		return endDate;
	}

	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public NurseReturnFeeApply getNurseReturnFeeApply() {
        return nurseReturnFeeApply;
    }

    public void setNurseReturnFeeApply(NurseReturnFeeApply nurseReturnFeeApply) {
        this.nurseReturnFeeApply = nurseReturnFeeApply;
    }
}